package com.wlf.admin.common.freemarker;

import cn.dev33.satoken.stp.StpUtil;
import freemarker.template.TemplateMethodModelEx;
import freemarker.template.TemplateModelException;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * freeMarker是否具有权限函数，结合if标签使用
 * 有权限返回true,
 * 无权限返回 false
 * <p>
 * 使用样例
 * <#if hasPerm('菜单对应的权限编码')>
 * 有则显示
 * </#if>
 */
@Service
public class HasPerm implements TemplateMethodModelEx {
    @Override
    public Object exec(List arguments) throws TemplateModelException {
        return StpUtil.hasPermission(arguments.get(0) + "");
    }
}